Week1: Git 遠端協作及 Pull Request


Posted by zoeaeen13 on 2020-06-15

如何將程式碼從本地放上 Github repository

  1. 在 Github 上建立一個 repository
  2. 建立後系統會提示你該怎麼做,將 code 複製下來去終端機操作
  3. 操作遠端和本地的溝通
#1 指定(-u)將 本地master 推到 origin的master
git push -u origin master

#2 推上本地commit
git push origin master 

#3 推上本地新建的分支
git push origin branch 分支名稱

#4 拉下遠端的 commit
git pull origin master 

#5 抓下遠端的 branch
git checkout feature

使用 Pull Request(PR)

為什麼要使用 PR?

知乎看到一個舉例,改寫一下,比喻 Pull Request 過程像是我們在大學時教授出作業:

  1. 以前助教會在課後幫同學補充上課內容和筆記,大家會在助教課抄寫一份筆記(fork)
  2. 回家延伸內容及寫題目,完成後會讓助教先批改(發 Pull Request 給助教),由他確認內容沒有問題
  3. 如需修正就再拿回來修正,一直到修改完成,助教才會收齊這些作業(merge)統一交給教授

而運用到軟體開發上,開發者拿到一項 issue 或工作,會在一個專屬他的分支上進行開發,然後完成新功能後需要將它合併到主要分支上,但就像前面說的

  • master 分支需要維持穩定

大型專案不可能時常出問題,而且協作者太多也無法讓所有人有權限、都能拿到遠端的資料庫,因為「權限管理」而衍生出 Pull Request 功能。

PR 主要功能

  • 通知:通知相關人員來檢查功能開發
  • 討論:針對某一段 code 在底下進行有效討論,而不會發散
  • 延伸功能:貢獻開源專案

而有錯誤或需修正的地方,要求的修改 (follow-up commit) 會標示在這頁

PR 流程

  1. 先 Fork 一份原專案到自己的 GitHub 底下,你就有完整的權限,想怎麼改就怎麼改
  2. 改完後,先推回(Push)你自己帳號的專案
  3. 然後發 Pull Request 通知原作者知道你有做事,請他看一下。如果他認為 OK,會決定把你這些修改合併(Merge)到他的原專案

參考資料:與其它開發者的互動 - 使用 Pull Request什麼是 Pull Request?


#Git #Github #Pull Request







Related Posts

Elevate Your Dermatology Practice with the Electric Dermatology Chair

Elevate Your Dermatology Practice with the Electric Dermatology Chair

1174. Immediate Food Delivery II

1174. Immediate Food Delivery II

[JavaScript] ES6 其他好用的新語法

[JavaScript] ES6 其他好用的新語法


Comments